This application relates to deriving database interaction software.
A computer software application that is implemented for execution on one type of computer system may not execute at all, or only with significant difficulty, on another type of computer system. For example, applications that are implemented to display information on a computer monitor of a local personal computer or to acquire end-user input via the personal computer""s local input device (e.g., keyboard) are typically ill-suited for displaying or acquiring such information in another way, such as via a wide area network or a World-Wide Web (xe2x80x9cWebxe2x80x9d) browser. As a result, if a user relies on such an application to enter and retrieve data in a useful way, it is typically difficult or impossible for the user to allow another user at a remote location to enter and retrieve the data.
In some cases, it is possible to use computer software known as remote control software that allows a modem or network based data connection to be used to extend, in a functional way, the physical distance to the monitor or the input device to be used with the application. Application data directed to the local computer monitor is intercepted by the remote control software and is sent by the remote control software via the data connection to a remote monitor. Remote end-user input data is received by the remote control software via the data connection and is presented by the remote control software to the application as local end-user input data. The remote control software requires local and remote components that are implemented to allow remote access to the application. The local component executes at a local computer where the application executes, and the remote component executes at a remote computer that includes the remote monitor and that acquires the remote end-user data.
If the application includes a database application that provides an end-user with access to information in a database, the remote control software can provide remote access to the information in the database only when and if the local computer is operative and the application is executing. In addition, since each end-user requires a separate executing instance of the application and the local computer may have difficulty allowing more than a small number of instances to execute simultaneously, only a small number of end-users may be able to make effective use the application at the same time.
Use of the application via the remote control software is typically sluggish, due to the need for real-time conversion of application data to and from a format that is suitable for transmission over the modem or network based data connection. Such conversion is also prone to mistakes, especially if the application data directed to the local computer monitor includes complex graphical or transient data such as video data.
A new application that is implemented specifically for use from a remote location, such as a Web application, may be created to provide remote access to a database. Developing such a Web application can take significant time, particularly in a case in which details about the interior structure of the database and the data connection to the database are not readily available.
Methods and systems are provided for deriving database interaction software. Based on an analysis of computer software data for a desktop application that interacts with a database, a Web-based application is derived that interacts with the same database. User interface forms are derived for the Web-based application that provide at least some of the functionality of user interface forms used in the desktop application. Information gleaned from the analysis of the computer software data is used to provide a direct data connection between the Web-based application and the database.
Different aspects of the invention allow one or more of the following. A new Web-based counterpart of an existing desktop database application can be created with little input from an end-user. Information in an existing database that is accessible only via a local desktop application can be made accessible via any modern Web browser. An existing database that can receive end-user input via a desktop interface only, can be provided with user input received through a Web browser.